package com.qys.livesMall.shortVideo.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qys.livesMall.shortVideo.model.dto.app.AppShortVideoCommentQueryDTO;
import com.qys.livesMall.shortVideo.model.dto.app.AppUserCommentDTO;
import com.qys.livesMall.shortVideo.model.dto.sys.SysShortVideoCommentsHideDTO;
import com.qys.livesMall.shortVideo.model.dto.sys.SysShortVideoCommentsPageDTO;
import com.qys.livesMall.shortVideo.model.entity.H2ShortVideoComments;
import com.qys.livesMall.shortVideo.model.vo.app.AppShortVideoCommentVO;
import com.qys.livesMall.shortVideo.model.vo.sys.SysShortVideoCommentsVO;

/**
 * <p>
 * 短视频评论 服务类
 * </p>
 *
 * @author dp
 * @since 2023-05-04
 */
public interface IH2ShortVideoCommentsService extends IService<H2ShortVideoComments> {

    /**
     * 分页查询短视频评论信息
     *
     * @param queryDTO
     * @return
     */
    Page<SysShortVideoCommentsVO> pageBySystem(SysShortVideoCommentsPageDTO queryDTO);

    /**
     * 隐藏/显示评论信息
     *
     * @param commentsHideDTO
     */
    void hideOrShowComments(SysShortVideoCommentsHideDTO commentsHideDTO);

    /**
     * 评论短视频信息
     *
     * @param commentDTO
     */
    String comment(AppUserCommentDTO commentDTO);

    /**
     * app查询评论信息
     *
     * @param baseQuery
     * @return
     */
    Page<AppShortVideoCommentVO> pageByApp(AppShortVideoCommentQueryDTO baseQuery);

    /**
     * 点赞短视频评论信息
     *
     * @param id
     * @param type 类型(0点赞/1取消)
     */
    int like(String id, byte type);

    /**
     * 不喜欢短视频评论信息
     *
     * @param id
     * @param type 类型(0不喜欢/1取消)
     */
    void dislike(String id, byte type);
}
